iT邦幫忙

2022 iThome 鐵人賽

DAY 25
0
Mobile Development

Android app 效能優化系列 第 25

Firebase Performance Monitoring

  • 分享至 

  • xImage
  •  

Firebase 是 Google 的一個為 Android、iOS、Web 提供豐富的後端服務。其中一個功能就 Firebase Performance Monitoring,用來監控 App 的效能表現。可提供「App 的啟動時間」、「頁面顯示時間」、「網路請求效能」,並可以自定義指標及屬性。

啟用Firebase Performance Monitoring

登入Firebase 後,點選 Performance,啟用 Performance。接著回到 App 修改程式碼。

在 Project level 的 Gradle 加入

dependencies {
	classpath 'com.google.firebase:perf-plugin:1.4.1'
}

在 Application level 的 Gradle 加入

plugins {
	id 'com.google.firebase.firebase-perf'
}

dependencies {
    implementation platform('com.google.firebase:firebase-bom:30.5.0')
    implementation 'com.google.firebase:firebase-perf-ktx'
}

在 AndroidManifest.xml 加入

<application>
    <meta-data
      android:name="firebase_performance_logcat_enabled"
      android:value="true" />
</application>

將 App 執行起來,再回到 Firebase Performance 就可以看到數字了。如下圖顯示的是應用程式啟動時間。關於應用程式啟動時間,請參考本系列縮短 App 的短動時間
https://ithelp.ithome.com.tw/upload/images/20221010/20111896JPHB1tsICW.png

你還可以選擇依「應用程式版本」、「行動電信業者」等來顯示分佈狀況。
https://ithelp.ithome.com.tw/upload/images/20221010/201118964Y5vi3LFn9.png

頁面顯示

所有的 Activity 將自動被監控並記錄載入的時間。
https://ithelp.ithome.com.tw/upload/images/20221010/201118963xLdiq8a4P.png

點 Activity 進入可以查看是否有顯示速度緩慢或凍結的頁框。關於頁面顯示效能,請參考本系列 UI的效能優化

https://ithelp.ithome.com.tw/upload/images/20221010/20111896ZCjOsuCUwf.png

監控網路請求

Firebase 也可以監控使用者的網路狀況,我們可以知道每個網路請求的時間、請求 (Request) 的內容、回應(Response) 的內容。可以方便找出是否有哪個 API 有效能問題,對於 debug 也很有幫助。關於網路請求效能,請參考本系列網路請求的效能優化

https://ithelp.ithome.com.tw/upload/images/20230421/20111896plaFl9iKBp.png

點進去可以看到更多的資料,你可以從這裡來查看是否有網路的效能問題。
https://ithelp.ithome.com.tw/upload/images/20230421/20111896o0UBkYnXw8.png

自定義指標

與 Google play vitals 最大的不同是,使用 Firebase Performance 可以自行定義指標。例如我要計算開啟某個服務的時間,就可以在開啟這個服務的前後加上 trace.start()trace.stop()


val trace = Firebase.performance.newTrace("test_trace")
trace.start()

// 追蹤這段程式碼執行所需時間

trace.stop()

自定義屬性

你也可以針對一個追蹤去自定義屬性,在Firebase的統計數字就可以在依自定義屬性再分類。在做這些都要記得不要搜集跟個資有關的,例如 E-mail 就是不能放入追蹤的屬性。

Firebase.performance.newTrace("test_trace").trace {
    putAttribute("experiment", "A")
}

以上就是 Firebase Performance Monitoring 的介紹,與 Google play vitals 都是很重要且容易使用的監控 App 工具,可以讓我們知道真實使用者的使用狀況,並能即時收到通知。


上一篇
使用 Google play vitals 監控 App 的效能
下一篇
熟悉 Component 的使用方式 - 以 RecyclerView 為例
系列文
Android app 效能優化30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言